1. Field of the Invention
The invention relates to a gateway for telecommunication networks, and particularly for networks providing Wireless Application Protocol (WAP) capability.
2. Prior Art Discussion
In recent years, WAP specifications have been developed to govern the interoperability aspects of WAP functionality. These specify a stack having a bearer adaptation layer for interfacing with a bearer, and a client for interfacing with an origin server to obtain content.
At present, implementation of such functionality involves much adaptation of existing network nodes. Also, it is complex to add functionality for auxiliary services which add value for a network operator.
The invention is directed towards providing a gateway which may be easily connected in a network to allow a range of services to be provided in a versatile manner, and which is scaleable and modular.
According to the invention, there is provided a telecommunications gateway comprising a stack comprising a bearer adaptation layer for interfacing with a bearer, and a client for interfacing with an origin server, characterised in that the gateway further comprises a context manager acting as a user on the stack and supporting an interface means to an external entity to provide an auxiliary service.
This is a very flexible and versatile configuration as the context manager acts as a platform for features by virtue of being a user on the stack and having means for supporting an interface means.
In one embodiment, the interface means comprises an accounting server comprising means for accepting, storing and making available a mapping between a client telephone number and the IP address allocated by the network.
Preferably, the accounting server comprises means for interfacing with an external accounting client for receiving the mapping information.
In a still further embodiment, the gateway further comprises a database, and the accounting server comprises means for storing the mapping data in the database.
Preferably, the accounting server comprises means for interfacing according to the RADIUS accounting protocol.
In one embodiment, the interface means comprises a lightweight directory access protocol (LDAP) client comprising means for accessing an external system to retrieve subscriber data.
In one embodiment, the LDAP client comprises means for using mapping associations managed by the accounting server to identify subscribers.
In one embodiment, the context manager comprises means for controlling access to content.
In a further embodiment, the context manager comprises means for determining access criteria from an external system via the LDAP client.
In another embodiment, the context manager comprises means for accessing a stored URL whitelist, a URL blacklist, and a URL greylist of URLs which are accessed only under set conditions.
In a further embodiment, the context manager comprises means for retrieving the condition via the LDAP client.
Preferably, the whitelist, the blacklist, and the greylist are stored in an internal database.
In another embodiment, the context manager comprises means for determining class of service values for subscribers.
Preferably, the context manager comprises means for determining URL class of service values and comparing subscriber and URL class of service values to control access.
In one embodiment, the context manager comprises means for using a hashing algorithm process for searching said lists.
In another manager, the context manager comprises means for inferring from the lists an indication of whether the telephone number should be transferred to the origin server, and for implementing the transfer via the origin server client.
Preferably, the interface means comprises a push API comprising means for allowing an external entity to pass push requests to the context manager.
In one embodiment, the context manager comprises means for receiving a URL in a push request and for subsequently retrieving the content identified by the URL, and for pushing the content to the client via the stack.
In a further embodiment, the context manager comprises means for receiving a push request with content and for pushing the content to a client via the stack.
Preferably, the interface means comprises an encoder for converting text WML to byte code format and, a compiler for converting WMLscript to byte code format.
In another embodiment, the gateway further comprises an event manager linked to the stack, and to the context manager and the stack comprises means for sending events to the event manager.
In one embodiment, the stack and the context manager comprise means for identifying events in messages in either direction.
In a further embodiment, events are identified by processing code.
In one embodiment, the event manager comprises means for accepting events and logging them.
In a further embodiment, the event manager comprises means for providing TCP/IP connections with the context manager and the stack for receiving events.
In one embodiment, the event manager comprises means for receiving the events in a Tag Length Value (TLV) format.
In one embodiment, the event manager comprises means for maintaining an event log and a billing log, and means for logging billing events to the billing log.
Preferably, the event manager comprises means for accessing event classification data from an internal database.
In one embodiment, the event manager comprises means for making the classification data available to the stack and to the context manager.
In another embodiment, the event manager comprises means for controlling threads of queues for communication of classification data.
In one embodiment, the gateway further comprises a management entity linked to the context manager, the stack, and the event manager for gateway management purposes.
In another embodiment, the management entity comprises means for providing a management GUI interface.
In a further embodiment, the management entity comprises means for setting event classifications for the event manager.
In another embodiment, the management entity comprises means for setting control data in an internal database for the context manager, the stack, and the event manager.
In one embodiment, the management entity comprises means for controlling start up, shut down, and re-start via message queues.
In a further embodiment, the management entity comprises means for setting event conditions as alarms, and the event manager comprises means for automatically notifying the management entity of alarms.
According to a further aspect, the invention provides a method for providing access to an external entity by a telecommunications network, the method comprising the steps of:
providing a gateway having a stack comprising a bearer adaptation layer,
providing a context manager acting as a user on a stack, and
the context manager supporting an interface which accesses the external entity.
In one embodiment, the context manager supports a plurality of interfaces.
In one embodiment, an interface is an accounting server which accepts, stores, and makes available a mapping between a client telephone number and the IP address allocated by the network.
In one embodiment, an interface is a lightweight directory access protocol client which accesses an external system to retrieve subscriber data.
In another embodiment, the method comprises the further step of the context manager controlling access to content according to URL and subscriber class of service values.
In one embodiment, the method comprises the further step of the context manager inferring from a whitelist, a blacklist, and a greylist an indication of whether a telephone number should be transferred to an origin server, and implementing the transfer via an origin server client.
In one embodiment, the method comprises the further step of the stack automatically sending events to an event manager, and the event manager maintaining an event log and a billing log.
In one embodiment, the event manager sets event conditions in a configurable basis.